分組座位和四連桿機構
分組座位原始碼
#import os adata = open("w2b_cadlab.txt", encoding="utf-8").read() #讀取w2b_cadlab.txt 檔案,讓裡面的內容成為資料, 因為檔案裡有中文, 所以設定encoding 使用utf-8 的編驛碼 rdata = open("w2b_registered.txt", encoding="utf-8").read().splitlines() #print(adata) #用print 先檢查資料是否是我們需要的 alist = adata.splitlines() #利用splitlines 的方法把資料隔開, 就可以得到一個特定的數列 #print(alist[2]) n = 0 row = 0 final_list = [] w2_list = [] for stud_num in alist[2:]: #從第2列開始, 因為第0列和第1列都不是我們要的 row = row + 1 blist = stud_num.split("\t") #print(blist) column = 0 #為了避免序號連續, 利用column = 0 將順序重製, 因為每一列算完之後要換下一列重新開始 for i in range(len(blist)): column = column + 1 if blist[i] != "": #print(blist[i]) clist = blist[i].split("_") stud_data = clist[0]+"_"+clist[1]+"_"+str(row)+"_"+str(column) final_list.append(stud_data) w2_list.append(clist[1]) n = n +1 # 根據數列前導字串排序, 目的在建立分組數列 group_list = sorted(final_list) print("分組名單:") for i in range(len(group_list)): print(group_list[i]) print("座位列表:") for i in range(len(final_list)): print(final_list[i]) for i in range(len(rdata)): if rdata[i] not in w2_list: print("缺席學生:", rdata[i]) print("學生總數:", n) #print(os.environ)